QuickDraw Text
|
QuickDraw Text is the part of the MacOS used for
drawing and displaying textual information on the screen
and other raster devices. Along with several performance
improvements, the following changes have been
implemented:
|
- A variety of QuickDraw Text bug fixes related to
drawing text at large font sizes (greater than 200 point)
have been added. This allows drawing of antialiased text
over 200 point.
DrawString performance has been
improved.
- The size of the font table fragment cache has been
changed to accommodate larger, more complex fonts.
Normally, when the font table fragment cache is
allocated, its size used to be determined by computation
purely based on available physical RAM. This
determination gave a default size of 144K cache for
systems with up to 48MB of RAM, 216K for systems with up
to 96MB of RAM, and 288K above that. While this works
well for simple Latin fonts, there are some fonts that
are so complex that they exceeded this cache size. There
was no recourse in these cases; the font would not render
correctly, because the entire metamorphosis table could
not be loaded all at once. So the system now checks for
the presence of an optional
'fcsz' resource,
4 bytes
long, which contains an override to the calculated limit
described above. The value in this resource may be
whatever is desired; however, there are two constraints.
First, if the value in the resource is less than the
calculated value, then the calculated value is used and
the resource value is ignored. Second, the value in the
resource is constrained to being no greater than 1/16th
the size of physical RAM. If the resource value is
greater than this, it will be reduced to exactly this
value.
- The new calls
SetAntialiasedTextEnabled ,
IsAntiAliasedTextEnabled ,
QDTextBounds , and FetchFontInfo
have been added to InterfaceLib. These routines are
documented in the Mac
OS 8.5 technote.
|
COMPATIBILITY WARNING
Developers linking against the routines
SetAntialiasedTextEnabled ,
IsAntiAliasedTextEnabled ,
QDTextBounds , and
FetchFontInfo in InterfaceLib who would
like to have their products run with previous versions
of the system software should weak-link against these
new symbols. Unless this is done, the Code Fragment
Manager will refuse to launch applications using the
new symbols when an older version of InterfaceLib is
being used. Developers weak-linking against any of the
new symbols in InterfaceLib should check to ensure
that the routines they weak link against are defined
before calling them.
|
- A variety of bug fixes allowing ATM to behave
correctly in the system.
- A number of bugs affecting the drawing and
measurement of double-byte text were fixed.
|